/**
 * @description 查询接口参数
 * @param interfaceId 接口id
 */
ProjectDetail.doSelect = function(interfaceId) {
	layui.use(['table','form'], function() {
		var table = layui.table;
		var form = layui.form;
		// 第一个实例
		table.render({
			id : 'paramsDetail',
			elem : '#params_table',
			toolbar : '#params_bar',
			 height: 400,
			// ,width :900
			url : '/web2019/project/ajaxQueryInterfaceParams.action', // 数据接口
			where : {
				"interfaceId" : interfaceId,
				"keyWord":$("#keyword2").val()
			},
			page : false,// 开启分页
			response : {
				statusName : 'code' // 规定数据状态的字段名称，默认：code
				,
				statusCode : "0000" // 规定成功的状态码，默认：0
				,
				msgName : 'message' // 规定状态信息的字段名称，默认：msg
				,
				countName : 'total' // 规定数据总数的字段名称，默认：count
			},
			cols : [ [ // 表头
			{
				field : 'paramId',
				title : '编号',
				width : 80,
				sort : true
			}, {
				field : 'paramCode',
				title : '参数编码',
				edit : 'text',
				width : 150
			}, {
				field : 'paramName',
				title : '参数名称',
				edit : 'text',
				width : 150,
				sort : true
			}, {
				field : 'paramType',
				title : '参数类型',
				templet : function(item) {
					var html="";
					html+='	<select name="paramType" >';
					if(item.paramType=='1'){
						html+='	<option value="1" selected>普通</option>';
					}else{
						html+='	<option value="1"  >普通</option>';
					}
					if(item.paramType=='2'){
						html+='	<option value="2" selected >列表</option>';
					}else{
						html+='	<option value="2">列表</option>';
					}
					if(item.paramType=='3'){
						html+='	<option value="3" selected >对象</option>';
					}else{
						html+='	<option value="3" >对象</option>';
					}
					html+='</select>';
					return html;
				},
				width : 100,
				sort : true
			}, {
				field : 'description',
				title : '描述',
				edit : 'text',
				width : 200,
				sort : true
			}, {
				field : 'parentParamId',
				title : '父参',
				edit : 'text',
				width : 100,
				sort : true
			}, {
				field : 'paramDataType',
				title : '数据类型',
				templet : function(item) {
					var html="";
					html+='	<select name="paramDataType" >';
					if(item.paramDataType=='1'){
						html+='	<option value="1" selected>String</option>';
					}else{
						html+='	<option value="1"  >String</option>';
					}
					if(item.paramDataType=='0'){
						html+='	<option value="0" selected>无</option>';
					}else{
						html+='	<option value="0"  >无</option>';
					}
					if(item.paramDataType=='2'){
						html+='	<option value="2" selected >Integer</option>';
					}else{
						html+='	<option value="2">Integer</option>';
					}
					if(item.paramDataType=='3'){
						html+='	<option value="3" selected >Long</option>';
					}else{
						html+='	<option value="3" >Long</option>';
					}
					if(item.paramDataType=='4'){
						html+='	<option value="4" selected >BigDecimal</option>';
					}else{
						html+='	<option value="4" >BigDecimal</option>';
					}
					html+='</select>';
					return html;
				},
				width : 100,
				sort : true
			}, {
				field : 'paramDataLength',
				title : '数据长度',
				edit : 'text',
				width : 100,
			}, {
				field : 'isNotNull',
				title : '是否非空',
				templet: '#isNotNull_templet',
				width : 100,
				sort : true
			}
			, {
				field : 'defaultValue',
				title : '样例值',
				edit : 'text',
				width : 80,
				sort : true
			}
			, {
				field : 'paramDirection',
				title : '参数方向',
				templet: '#paramDirection_templet',
				width : 100,
				sort : true
			}
//			, {
//				field : 'paramOrder',
//				title : '排序',
//				edit : 'text',
//				width : 100,
//				sort : true
//			}
			, {
				title : '操作',
				templet : function(item) {
					return ProjectDetail.setParamsOperate(item);
				},
				width : 200,
				align : 'center',
				fixed : 'right'
			} ] ]
		});
		// 监听单元格编辑
		table.on('tool(params-filter)', function(obj) {
			if(obj.event == 'delete'){
		      layer.confirm('真的删除么?', function(index){
		        ProjectDetail.deleteParam(obj.data);
		        layer.close(index);
		      });
		    } else if(obj.event == 'add'){
		    	var data=ProjectDetail.getData(obj);
		    	ProjectDetail.addParam(data,interfaceId)
		    }else if(obj.event == 'update'){
		    	var data=ProjectDetail.getData(obj);
		    	ProjectDetail.updateParam(data,interfaceId)
		    }
		});
	});
}

ProjectDetail.setParamsOperate = function(data) {
	var btnHtml = "";

	if (data.paramId != null) {
		btnHtml += '<button type="button" class="layui-btn layui-btn-xs" lay-event="update" >更新</button>';
	} else {
		btnHtml += '<button type="button" class="layui-btn layui-btn-xs" lay-event="add" >添加</button>';
	}
	if (data.paramId != null) {
		btnHtml += '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</button>';
	}
	return btnHtml;
}

ProjectDetail.addParam = function(data,interfaceId) {
	if(ProjectDetail.checkAddParam(data)){
		data.interfaceId =interfaceId;
		ProjectDetail.ajaxSaveParam(data);
	}
}
ProjectDetail.updateParam = function(data,interfaceId) {
	if(ProjectDetail.checkAddParam(data)){
		data.interfaceId =interfaceId;
		ProjectDetail.ajaxSaveParam(data);
	}
}
ProjectDetail.checkAddParam = function(data) {
	if(data.paramCode==null||data.paramCode==""){
		layer.msg("请输入参数编号");
		return false;
	}
	if(data.paramName==null||data.paramName==""){
		layer.msg("请输入参数名称");
		return false;
	}
	return true;
}

ProjectDetail.deleteParam =function(data1){
	$.ajax({
		type : "POST",
		url : "/web2019/project/ajaxDeleteParam.action",
		dataType : "json",
		data : data1,
		beforeSend:function(){
			layer.load(1);
		},
		complete:function(){
			layer.close(layer.index-1);
		},
		success : function(data) {
			if (data.code == "0000") {
				layer.alert(data.message, { icon: 1, closeBtn: 0 }, function (index) { 
					layer.close(index);
					layui.use(['table'], function() {
						var table = layui.table;
					table.reload('paramsDetail', {
						where : {
							"interfaceId" : data1.interfaceId
						},
				    });
					});
				});
			} else {
				layer.alert(data.message);
			}
		},
		error : function(data) {

		}
	});
}

ProjectDetail.ajaxSaveParam =function(data1){
	$.ajax({
		type : "POST",
		url : "/web2019/project/ajaxSaveParam.action",
		dataType : "json",
		data : data1,
		beforeSend:function(){
			layer.load(1);
		},
		complete:function(){
			layer.close(layer.index-1);
		},
		success : function(data) {
			if (data.code == "0000") {
				layer.alert(data.message, { icon: 1, closeBtn: 0 }, function (index) { 
					layer.close(index);
					layui.use(['table'], function() {
						var table = layui.table;
					table.reload('paramsDetail', {
						where : {
							"interfaceId" : data1.interfaceId
						},
				    });
					});
				});
			} else {
				layer.alert(data.message);
			}
		},
		error : function(data) {

		}
	});
}
